//导入核心模块
const http = require('http');
const fs = require('fs')
const path = require('path')

//导入第三方模块
const template = require('art-template');
const moment = require('moment')

//开启接受事件并监听端口
http.createServer((req,res)=>{
    //读取静态页面
    fs.readFile(path.join(__dirname,'./page/index.html'),(err,data)=>{
        //读取文件夹内的文件并将读取到的文件渲染到静态页面中
        fs.readdir(__dirname,(err,data2)=>{
            //将读取到的文件数组遍历,分别获得到各自的大小及创建日期然后用对象来存放
            let newarr = [] //用来储存每个文件对象
            let index = 0;
            for(let i = 0; i < data2.length; i++) {
                //通过遍历到的每个文件对象,拿到对应每个文件对象的相应信息   !这一步操作异步!
                fs.stat(path.join(__dirname,data2[i]),(err,data3)=>{
                    let obj = {
                        name : data2[i],
                        size : data3.size,
                        time : moment(data3.ctime).format('YYYY-MM-DD hh:mm:ss')
                    }
                    newarr.push(obj)
                    index++
                    if(index == data2.length) {
                        let htmlstr = template.render(data.toString(),{
                            arr:newarr
                        })
                        res.end(htmlstr);
                    }
                })
                
            }
            
        })
    })
    
}).listen(3000,()=>{
    console.log('running');
})